This invention relates to scaling images for display.
In video images, the number of pixels in an image determines the quality, or resolution, of the image. More pixels in an image translates to higher resolution.
High definition television (HDTV) images, for example, have a high resolution (e.g., 1920xc3x97540 1080i (interlaced)) that cannot be directly displayed on a typical personal computer (PC) monitor without scaling the images to a lower resolution (e.g., 1280xc3x97720). Additionally, the images typically occupy a small section of the PC monitor, requiring further scaling to a lower resolution (e.g., 480xc3x97135).
One way to scale HDTV images to a usable size for PC monitors is by overlay scaling. Overlay scaling reads an HDTV image from the computer""s memory and scales it horizontally and vertically. Overlay scales images xe2x80x9con the fly,xe2x80x9d while the PC monitor is being refreshed. The scaled image replaces (xe2x80x9coverlaysxe2x80x9d) the previously scaled image being displayed on the PC monitor. The number of images scaled and displayed per second, e.g., 85 frames per second (85 Hz), enables a computer user to view a continuous video picture sequence on the monitor.
For example, in FIG. 1, overlay scaling reads a 1920xc3x97540 1080i HDTV image 12 from a PC""s memory, creates a 4:1 downscaled 480xc3x97135 image 14, and displays the image 14 on the PC""s monitor. As seen in FIG. 2, image 12 is one of a sequence of incoming video images that appear at an image update rate of 60 frames per second (60 Hz) and are stored temporarily in memory 13. Because image 12 is interlaced only every other line of the image is displayed), the xe2x80x9crealxe2x80x9d update rate is 30 frames per second (30 Hz). The overlay process reads successive images 12 from computer memory 13 at a PC CRT (cathode-ray tube) refresh rate, e.g., 85 frames per second (85 Hz), downscales them, and delivers them to the monitor for display.
Also referring to FIG. 3, to create the 4:1 downscaled image 14, an overlay process reads sixteen pixels of image 12 (one pixel segment 16), compresses them to form one pixel of image 14, displays the one pixel, and proceeds to the next segment 16. The segments 16 are processed from left to right in each row, working from the top row to the bottom row. This overlay scaling requires an average memory bandwidth of 176 MB/sec, where memory bandwidth equals (horizontal resolution, 1920)xc3x97(vertical resolution, 540)xc3x97(refresh rate, 85)xc3x97(bytes per pixel, 2), and a peak memory bandwidth of 1054 MB/sec (1920xc3x97540xc3x9785xc3x9712). Some PC memory systems cannot supply such a high bandwidth, so the PC compensates by dropping lines of the image. For example, dropping every other line would reduce the bandwidth requirements by 50%. Dropping lines, however, decreases image quality because the information in every pixel should contribute to the downscaled image.
In general, in one aspect, the invention features scaling a graphic image that has pixels arranged in rows and columns by processing a succession of segments. Each segment comprises contiguous pixels. The row and column dimensions of each segment do not correspond to an intended degree of scaling in both dimensions. The processing of each segment produces an intermediate pixel. The intermediate pixels form a stream. The intermediate stream of pixels is processed to form a final two-dimensional scaled image.
In another aspect, the invention features scaling each image that appears in a video sequence of images for display on a display device that displays downscaled images by compressing each image in a first scaling process to form a sequence of intermediate, partially scaled images, and compressing each of the intermediate images in a second scaling process to form a final sequence of scaled images.
Other advantages and features will become apparent from the following description and from the claims.